1. Field of Technology
The present disclosure generally relates to flip flops, and specifically relates to master slave flip flops.
2. Background
Flip flops are data storage elements used in digital electronic circuits. Flip flops store one of two states and changes states in response to one or more inputs. A typical master slave flip flop is made of a master latch and a slave latch that change states in response to a control signal such as a clock. The output of the master latch is the input to the slave latch, and the output of the slave latch is the output of the flip flop. During the negative phase of the clock, the master latch stores a data input signal while the slave latch maintains its previously stored value. During the positive phase of the clock, the master latch maintains its previously stored value while the slave latch stores the data input signal previously stored in the master latch, thus the data input signal is written to the output of the flip flop.
One of many problems with typical master slave flip flops is that the slave latch and the master latch could both be acquiring or storing new data at the same time. For example, during a positive clock phase, the master latch maintains the input data from the previous clock phase while the slave latch acquires new data. During a negative clock phase, the master latch acquires new input data while the slave latch maintains the input data from the previous clock phase. During the transition from the positive to negative clock phase, the slave latch may change to a maintaining mode before the master latch changes to an acquiring mode. However, it is possible that the master latch changes to an acquiring mode before the slave latch changes to a maintaining mode, both the master latch and slave latch in an acquiring mode, causing the output value of the flip flop to be compromised.